import java.util.Collection;
import java.util.Iterator;
        
public class TowerManager implements Manejador {
    private Collection torres;
    private Mapa mapa;
    private EnemyManager enemyM;
    
    public TowerManager(Mapa m, EnemyManager e){
    	this.mapa = m;
    	this.enemyM = e;
    }
    
    public void crear(Casillero casillero, String tipo) {
            if (tipo.equals("TorreBlanca")) {
                Torre tBlanca = new TorreBlanca(casillero);
                this.torres.add(tBlanca);
            }
            else if (tipo.equals("TorrePlateada")) {
                Torre tPlateada = new TorrePlateada(casillero);
                this.torres.add(tPlateada);
            }
            else {
                Torre tDorada = new TorreDorada(casillero);
                this.torres.add(tDorada);
            }
    }
    
    public void latir() {
        Iterator itTorres = this.torres.iterator();
        while (itTorres.hasNext()) {
            Torre torre= (Torre) itTorres.next();
            Colecction enemigosDeTorre = this.mapa.elementosEnRango(torre.getCasillero(), torre.getAlcance());
            Enemigo objetivo = torre.atacarObjetivo(enemigosEnRango);
            this.enemyM.daniar(objetivo, torre.getDanio());
        } 
    }
}
